// 将字符串转换为较大的数字：hashCode
// 将hashCode压缩到数组范围内
function hashFunc(str, size) {
  // 1.定义hashCode变量
  let hashCode = 0

  // 2.霍纳算法，来计算hashCode的值
  // 获取Unicode编码
  for (let i = 0; i < str.length; i++) {
    hashCode = 37 * hashCode + str.charCodeAt(i)
  }

  // 3.取余操作
  let index = hashCode % size

  return index
}

module.exports = hashFunc